CREATE TABLE [dbo].[Program]
(
[ProgramKey] [uniqueidentifier] NOT NULL,
[ProgramName] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[UserDefinedExperiencesFlag] [bit] NOT NULL,
[UomKey] [uniqueidentifier] NULL,
[MinimumValue] [decimal] (18, 0) NULL,
[MaximumValue] [decimal] (18, 0) NULL,
[ProgramDescr] [nvarchar] (250) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[ProgramStatusCode] [nchar] (2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[CreatedOn] [datetime] NOT NULL,
[CreatedByUserKey] [uniqueidentifier] NOT NULL,
[UpdatedOn] [datetime] NOT NULL,
[UpdatedByUserKey] [uniqueidentifier] NOT NULL,
[RequiresApprovalFlag] [bit] NOT NULL CONSTRAINT [DF_Program_RequiresApprovalFlag] DEFAULT ('0'),
[MarkedForDeleteOn] [datetime] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Program] ADD CONSTRAINT [PK_Program_ProgramKey] PRIMARY KEY CLUSTERED ([ProgramKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_Program_CreatedByUserKey] ON [dbo].[Program] ([CreatedByUserKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_Program_ProgramStatusCode] ON [dbo].[Program] ([ProgramStatusCode]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_Program_UpdatedByUserKey] ON [dbo].[Program] ([UpdatedByUserKey]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Program] ADD CONSTRAINT [FK_Program_ProgramStatusRef] FOREIGN KEY ([ProgramStatusCode]) REFERENCES [dbo].[ProgramStatusRef] ([ProgramStatusCode])
GO
ALTER TABLE [dbo].[Program] ADD CONSTRAINT [FK_Program_UserMain_CreatedBy] FOREIGN KEY ([CreatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO
ALTER TABLE [dbo].[Program] ADD CONSTRAINT [FK_Program_UserMain_UpdatedBy] FOREIGN KEY ([UpdatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO